package cs4;

import org.junit.Test;

/*
 * 关于StringBuffer和StringBuilder
 * StringBuffer:可变的字符序列:线程安全的,效率低
 * StringBuilder:可变的字符序列:线程不安全的,效率高
 *
 *
 */
public class StringTest2 {
    @Test
    public void test1(){
        StringBuffer stringBuffer=new StringBuffer("JK");
        StringBuilder stringBuilder= new StringBuilder("jkl");
        //扩容问题:如果要添加的数组底层数组盛不下了,那就需要扩容底层的数组
        //默认情况下,扩容为原来的2n+2同时将原有数组中的元素复制到新的数组中
        stringBuilder.append('a');
    }

    @Test
            public void test2(){
                String str=null;
                StringBuffer sb=new StringBuffer();
                sb.append(str);

                System.out.println(sb.length());//4
                System.out.println(sb);//"null"

                StringBuffer sb1=new StringBuffer(str);//报异常NullPointerException
                System.out.println(sb1);
            }
}
